1. Field of the Invention
The present invention pertains to a multi-point data acquisition apparatus comprising a main module which performs serial communication through a serial bus to multiple measurement modules connected to a single-system serial bus; and pertains in particular to a multi-point data acquisition apparatus capable of communicating with multiple measurement modules at high speed.
2. Description of the Prior Art
When signals of various physical quantities such as voltage, resistance, and temperature are measured, multiple modules which have assigned different function are used to do measurements and collect data. In addition, if there are numerous measurement points, multiple modules with identical functions are used to do measurements and collect data, even in cases where measured signals are same kind of physical quantities. A multi-point data acquisition apparatus is one in which these modules are formed together into a single unit on an internal bus, such as a serial bus (see, for example, the following references).
Reference 1: Sato, Tetsuya and one other. “DARWIN Series Data Acquisition Units.” Yokogawa Technical Report. Yokogawa Electric Corporation, 1996. Vol. 40, No. 3, pp. 95–98.
Reference 2: Kasajima and three others. “DR230/240 DARWIN Series Hybrid Recorders.” Yokogawa Technical Report. Yokogawa Electric Corporation, 1997. Vol. 41, No. 3, pp. 73–76.
Reference 3: Kuribayashi and two others. “DC100 DARWIN Series Data Recorder.” Yokogawa Technical Report. Yokogawa Electric Corporation, 1998. Vol. 43, No. 3, pp. 119–122.
FIG. 1 is a block diagram illustrating a prior art example of such a multi-point data acquisition apparatus.
In FIG. 1, the internal serial bus SB is a single-system serial bus, and is a signal line on which serial data are transmitted. Serial data are transmitted on the serial bus SB according to, for example, the RS485 interface standard.
Measurement modules M1–M3 are modules which perform measurements. They comprise a measurement module communication processing unit 11 and measurement unit 12, and are connected to the internal serial bus SB. The communication processing unit 11 is connected to the serial bus SB and sends and receives serial data. The measurement unit 12 performs measurement with a connected sensor (not shown), such as a probe for voltage measurement, or a thermocouple or resistance temperature detector for temperature measurement. In addition, the measurement unit 12 which is connected with the communication processing unit 11 does measurements, set measurement conditions, and the like in accordance with the content of the serial data received by the communication processing unit 11, and it also output to the communication processing unit 11 the measured data, measurement-end signals, measurement condition setting-end signals, and the like.
A main module 20 comprises a CPU (Central Processing Unit) 21 and a communication processing unit 22 for the main module, and is connected to the internal serial bus SB. In addition, the main module 20 sends, to the measurement modules M1–M3 through the serial bus SB, commands for specifying measurement conditions, measurement-start, measurement-stop, and the like; collects (receives) measurement data from the measurement modules M1–M3; and the like, controlling the entire multi-point data acquisition apparatus. Furthermore, the main module 20 exchanges data with a PC (not shown) which is disposed externally. The communication processing unit 22 is connected to the CPU 21 and internal serial bus SB, and exchanges serial data to communicate through the internal serial bus SB with the prescribed measurement modules M1–M3.
With such an apparatus, the main module 20 communicates with the measurement modules M1–M3 through the internal serial bus SB, sending commands to the measurement modules M1–M3 and collecting measurement data and the like from the measurement modules M1–M3.
It should be noted that the internal serial bus SB is a single-system serial bus. The measurement modules M1–M3 and the main module 20 share a single serial bus SB. More specifically, the individual measurement modules M1–M3 and main module 20 are not connected through individual, independent serial buses. Thus, communication in both directions at the same time is not possible, so, for example, when serial data are being transmitted from the main module 20 to the measurement module M1, it is not possible to transmit serial data from the measurement module M1 to the main module 20 at the same time. In addition, the main module 20 cannot communicate with multiple measurement modules M1–M3 simultaneously, so, for example, when the main module 20 is communicating with the measurement module M1, it cannot communicate with the measurement module M2 or M3 at the same time.
The multi-point data acquisition apparatus is structured in this manner, because reducing the size is very important as well as saving cost. If multiple serial buses are disposed, it would be necessary to dispose multiple communication processing units 22 in the main module 20 as well, thus increasing the size of not just the main module 20 but the overall apparatus as well, and increasing the number of components, thus increasing the cost. In particular, during high-voltage measurements, it is necessary to provide insulation in order to provide a high withstand voltage between the measurement modules M1–M3 and main module 20. Thus it is necessary to use a single-system serial bus in order to reduce the overall apparatus size and reduce the cost.
Thus, because the serial bus is a single system, it is difficult to engage in high-speed communication with multiple measurement modules, which has been problematic.
The apparatus shown in FIG. 1 will now be described in detail separately for the following: (i) case in which the main module transmits data to the measurement modules M1–M3; (ii) case in which the main module receives data from the measurement modules M1–M3 by polling; (iii) case in which the main module engages in data sending and receiving with measurement modules; (iv) case in which the measurement modules M1–M3 transmit measurement data to the main module.
(i) Case in Which the Main Module Transmits Data to the Measurement Modules M1–M3
FIG. 2 is a diagram which provides a detailed illustration of the structure of the apparatus shown in FIG. 1. Herein, items which are the same as in FIG. 1 are denoted by the same symbols and not described. In addition, the structure pertaining to the explanation is illustrated and will be described. In FIG. 2, the main module 20 comprises a CPU 21, a main module communication processing unit 22, and a real-time clock 23, and is connected to the internal serial bus SB.
In addition, the main module 20 sends, to the measurement modules M1–M3 through the serial bus SB, commands for specifying measurement conditions, measurement-start, measurement-stop, and the like; collects (receives) measurement data from the measurement modules M1–M3; and the like, controlling the entire multi-point data acquisition apparatus.
The CPU 21 is a setting unit which takes interrupt signals from the real-time clock 23. The CPU 21 outputs, to the communication processing unit 22, signals which starts serial communication with the measurement modules M1–M3, and it also sets and erases transmission destinations and transmission content for the measurement modules M1–M3 engaging in serial communication.
The communication processing unit 22 comprises a transmission destination register 22a, transmission content buffer 22b, and sending/receiving means 22c. The communication processing unit 22 receives signals which set and erase settings and signals which start transmission from the CPU 21. In addition, the communication processing unit 22 is connected to the internal serial bus SB, and exchanges serial data with the prescribed measurement modules M1–M3 through the internal serial bus SB. When communication with the measurement modules M1–M3 ends, it notifies the CPU 21 of the end of communication. Herein, the transmission destination register 22a and transmission content buffer 22b are storage means.
The transmission destination register 22a holds the transmission destinations set by the CPU 21. The transmission content buffer 22b holds the transmission content set by the CPU 21. The sending/receiving means 22c, in accordance with the start signal from the CPU 21, reads the transmission destination and transmission content from the transmission destination register 22a and transmission content buffer 22b, respectively; sends transmission content through the internal serial bus SB to the measurement module M1–M3 which is set as the transmission destination; and receives serial data from the measurement modules M1–M3.
The real-time clock 23 is a timing generating means comprising an internal power supply (not shown). Even if the supply of power from the external power supply is terminated, it operates on power supplied from the internal power supply. It keeps track of the date and time, and outputs interrupt signals, which are timing signals, at prescribed time intervals, such as every 500 ms or every 1 second.
The operations of such an apparatus will now be described.
As an example, operations will be described for a case in which the transmission content of the transmission content buffer 22b is sent from the main module 20 to the measurement module M1. The CPU 21 sets the measurement module M1 as the transmission destination in the transmission destination register 22a of the communication processing unit 22, and sets the transmission content (e.g., commands such as measurement conditions, measurement-start, and measurement-stop) in the transmission content buffer 22b. 
Furthermore, if transmission timing or transmission time interval is important to the command, as in the case of a measurement-start instruction, then CPU 21 sets a start signal providing a transmission-start instruction to the sending/receiving means 22c of the communication processing unit 22, using the interrupt signal from the clock 23 as a reference.
Based on this start signal, the sending/receiving means 22c reads the transmission destination and transmission content from the transmission destination register 22a and transmission content buffer 22b, respectively, and transmits serial data through the internal serial bus SB to the measurement module M1 (the transmission destination), performing serial communication. It should be noted that serial communication is not connectionless; serial data to which a CRC (Cyclic Redundancy Check) or checksum has been added are transmitted to confirm whether the transmission content has been properly transmitted to the measurement module M1. If transmission fails, the serial data are resent.
Next, when serial communication with the measurement module M1 ends, the communication processing unit 22 notifies the CPU 21 of the end of communication. In response to this, the CPU 21 erases the transmission destination of the transmission destination register 22a and the transmission content of the transmission content buffer 22b. 
The communication processing unit 11 of the measurement module M1, for its part, extracts the measurement-start command from the received serial data and outputs it to the measurement unit 12. The measurement unit 12 then starts measurement.
The operations for cases of serial communication with the measurement module M2 or M3 will not be described because they are the same, except that the setting sent from the CPU 21 to the transmission destination register 22a is changed, and the communication processing unit 22 communicates with the set measurement module M2 or M3.
Thus the CPU 21 sets the transmission destination and transmission content in the transmission destination register 22a and transmission content buffer 22b, and after setting them, outputs a start signal to the communication processing unit 22 as needed, using the interrupt signal from the clock 23 as a reference. Next, when it receives a notification of the end of communication from the communication processing unit 22, the CPU 21 erases the transmission destination and transmission content from the transmission destination register 22a and transmission content buffer 22b, and sets the next transmission destination and transmission content. Thus the CPU 21 is an intermediary in the setting of transmissions to the measurement modules M1–M3, communication-end checking, and erasing.
In addition, with this type of apparatus, for the measurements of multiple measurement modules M1–M3, measurements are often started simultaneously and with synchronization established. However, because the serial bus SB is a single system, the CPU 21 must send measurement-start commands in sequence separately to each of the measurement modules M1–M3. It first sends a measurement-start command to the measurement module M1, for example. Next, after the transmission to the measurement module M1 ends, it sends a measurement-start command to the measurement module M2, and after the transmission to the measurement module M2 ends, it sends a measurement-start command to the measurement module M3.
For this reason, there has been a certain, fixed time difference, such as approximately one to several milliseconds, between the individual measurement modules M1–M3 by the time the measurement-start command is sent. In addition, because the CPU 21 is always an intermediary, the time difference between the individual measurement modules M1–M3 increases when the CPU 21 is under a high load, such as in cases where it is communicating with an external PC. Thus when the CPU 21 is under a high load, setting in and erasing from the transmission destination register 22a and transmission content buffer 22b are delayed, and the output of the start signal to the sending/receiving means 22c is delayed even when an interrupt signal from the clock 23 is input. For this reason, the time difference between the measurement modules M1–M3 increases. Thus it has been difficult to engage in high-speed communication with multiple measurement modules, which has been problematic.
However, in past measurements, the measurement interval required by users was long, such as approximately 1 second or 500 ms even in the case of the shortest measurement interval. Thus, for practical purposes, it was possible to establish synchronization and start measurement at nearly the same time, and the time difference between the individual measurement modules M1–M3 could be ignored.
However, in recent years, because more detailed measurements are made, the measurement interval required by users has shortened, making it impossible to ignore the time difference between the individual measurement modules M1–M3. Thus there are many demands to reduce the time difference between the individual measurement modules M1–M3.
Even with a single-system serial bus, it is possible to reduce the time difference between the measurement modules M1–M3, if connectionless serial communication is performed. However, this is not practical because it is not possible to confirm whether the transmission content was transmitted from the main module 20 to the measurement modules M1–M3 and reliability is low.
(ii) Case in Which the Main Module Receives Data from the Measurement Modules M1–M3 by Polling
FIG. 3 is a diagram which presents a detailed illustration of the structure of the apparatus shown in FIG. 1. Herein, items which are the same as in FIGS. 1 and 2 are denoted by the same symbols and not described. In addition, the structure pertaining to the explanation is illustrated and will be described. In FIG. 3, the main module 20 comprises a CPU 21, a main module communication processing unit 22, and a memory 24, and is connected to the internal serial bus SB.
In addition, the main module 20 sends, to the measurement modules M1–M3 through the serial bus SB, commands for specifying measurement conditions, measurement-start, measurement-stop, and the like; collects (receives) measurement data from the measurement modules M1–M3; and the like, controlling the entire multi-point data acquisition apparatus.
The CPU 21 is a setting unit, which outputs commands to the prescribed measurement modules M1–M3, and sets polling destinations for causing reception of data corresponding to the output commands.
The communication processing unit 22 comprises a polling destination storage means 22d and sending/receiving means 22c, and is connected to the internal serial bus SB. In addition, the communication processing unit 22 converts the commands output from the CPU 21 to serial data, engages in serial communication with the prescribed measurement modules M1–M3 through the internal serial bus SB, and when serial communication is completed, provides notification of communication-end to the CPU 21. In addition, it collects data by polling from the polling destination set by the CPU 21, and stores the received data in the memory 24.
The sending/receiving means 22c, following the instructions from the CPU 21, sends commands to the measurement modules M1–M3 through the internal serial bus SB, reads the polling destination from the polling destination storage means 22d, and receives serial data by polling.
The polling destination storage means 22d, following the instructions from the CPU 21, stores the polling destinations, i.e., the measurement modules M1–M3 from which data are to be collected by polling.
The memory 24 is a received-data storage unit which stores data received from the measurement modules M1–M3 by polling.
The operations of such an apparatus will now be described.
As an example, operations will be described for a case in which the main module 20 causes the measurement modules M1–M3 to perform measurements, and collects measurement data.
The CPU 21 of the main module 20 outputs a measurement-start command to the communication processing unit 22, with the measurement module M1 set as the transmission destination. In response to this, the sending/receiving means 22c of the communication processing unit 22 converts the command from the CPU 21 to serial data, and sends the serial data through the internal serial bus SB to the measurement module M1 (the transmission destination), performing serial communication. It should be noted that serial communication is not connectionless; serial data to which a CRC or checksum has been added are transmitted to confirm whether the transmission content has been properly transmitted to the measurement module M1. If transmission fails, the serial data are resent. Next, when serial communication with the measurement module M1 ends, the communication processing unit 22 notifies the CPU 21 of the end of communication.
When command transmission to the measurement module M1 ends, thereafter in the same manner, the CPU 21 instructs the communication processing unit 22 to send a command to the measurement module M2, and the communication processing unit 22 engages in communication with the measurement module M2. Next, when command transmission to the measurement module M2 ends, the CPU 21 instructs the communication processing unit 22 to send a command to the measurement module M3, and the communication processing unit 22 engages in communication with the measurement module M3.
When measurement-start command transmission to the measurement modules M1–M3 ends, the CPU 21 stores the measurement modules M1–M3 as polling destinations in the polling destination storage means 22d of the communication processing unit 22, and causes the sending/receiving means 22c to start collecting data by polling. In response to this, the sending/receiving means 22c reads the polling destinations from the polling destination storage means 22d, and collects data sequentially by polling the measurement modules M1–M3.
The operations of the measurement modules M1–M3 will now be described.
The communication processing unit 11 of the measurement modules M1–M3 extracts the measurement-start command from the received serial data and outputs it to the measurement unit 12.
Next, the measurement unit 12, following the measurement-start command, measures the measurement subject and outputs the measurement data from the measurement to the communication processing unit 11. Next, the communication processing unit 11 of the measurement modules M1–M3 adds the measurement data to the response to data collection by polling PM1–PM3 from the sending/receiving means 22c. For example, when the sending/receiving means 22c performs data collection by polling the measurement module M2, the measurement module M2 adds measurement data to the response to the polling PM2.
The operations of the main module 20 will now again are described. FIG. 4 is a diagram illustrating the operations of the CPU 21 and communication processing unit 22 in the main module 20. In FIG. 4, the top row shows the operations of the communication processing unit 22 and the bottom row shows the operations of the CPU 21. The horizontal axis shows the time.
The sending/receiving means 22c of the communication processing unit 22 sequentially performs polling PM1, polling PM2, and polling PM3 on the measurement modules M1–M3. Next, when, for example, the sending/receiving means 22c receives a response with added measurement data from the measurement module M2 in polling PM2, it stops data collection by the polling PM1–PM3. In addition, the communication processing unit 22 extracts the measurement data from the response received by the sending/receiving means 22c, storing the measurement data in the memory 24 and notifying the CPU 21 that measurement data have been received.
In response to this notification, the CPU 21 instructs a signal processing unit (not shown) to perform signal processing on the measurement data. Next, when the signal processing of the signal processing unit ends, the sending/receiving means 22c is instructed to resume polling. In response to this, the sending/receiving means 22c reads the polling destination from the polling destination storage means 22d and resumes polling PM1, polling PM2, and polling PM3, sequentially starting with the measurement module M1. Polling PM1–PM3 is then performed until measurement data are again received from any of the measurement modules M1–M3, or an error occurs in communication with any of the measurement modules M1–M3. It should be noted that “error” refers to cases where communication does not end in the normal procedure for the communication content during data collection by polling PM1–PM3, such as cases where there is no communication response from the measurement modules M1–M3, and cases where the CRC or checksum value added to the communication response is abnormal.
Thus because the serial bus SB is a single system, the sending/receiving means 22c of the communication processing unit 22 does not simultaneously collect data by polling the measurement modules M1–M3, which are the polling destinations set by the CPU 21; but rather performs polling PM1–PM3 sequentially to collect data.
However, the sending/receiving means 22c reads the polling destination from the polling destination storage means 22d, and performs polling PM1–PM3 according to this polling destination. For this reason, even if data are received from the measurement module M2, polling PM2 will be performed on the measurement module M2 in the same manner as prior to data reception. More specifically, polling PM2 is performed even on a measurement module M2 from which data have been received, so it takes time to receive data from all of the measurement modules M1–M3. Thus it has been difficult to engage in high-speed communication with multiple measurement modules, which has been problematic.
It is also possible to adopt a structure wherein, each time the sending/receiving means 22c receives data and notifies the CPU 21, the CPU 21 resets the polling destination in the polling destination storage means 22d. However, this is not realistic, because if the CPU 21 is under a high load due to exchanging data with a PC (not shown), providing signal processing instructions to a signal processing unit (not shown), and the like, then resetting the polling destination will be very time consuming.
(iii) Case in Which the Main Module Engages in Data Sending and Receiving with Measurement Modules
FIG. 5 is a diagram which provides a detailed illustration of the structure of the apparatus shown in FIG. 1. Herein, items which are the same as in FIGS. 1–3 are denoted by the same symbols and not described. In addition, the structure pertaining to the explanation is illustrated and will be described. In FIG. 5, the main module 20 comprises a CPU 21, a main module communication processing unit 22, and a clock 23, and is connected to the internal serial bus SB.
In addition, the main module 20 sends, to the measurement modules M1–M3 through the serial bus SB, commands for specifying measurement conditions, measurement-start, measurement-stop, and the like; collects (receives) measurement data from the measurement modules M1–M3; and the like, controlling the entire multi-point data acquisition apparatus.
The CPU 21 is a setting unit which takes interrupt signals are input from the clock 23. It makes transmission destination and transmission content settings, as well as polling settings and the like, in the communication processing unit 22.
The communication processing unit 22 is connected to the internal serial bus SB, and exchanges real-time data through the internal serial bus SB with the prescribed measurement modules M1–M3, performing serial communication, according to the settings from the CPU 21.
The clock 23 is a timing generating means which outputs interrupt signals, every 500 ms or every 1 second, for example.
The operations of such an apparatus will now be described.
First the operations of the CPU 21 of the main module 20 will be described. The CPU 21 first sets, in the communication processing unit 22, the measurement modules M1–M3 to be polled when, for example, the apparatus is initialized, or after the measurement-start command transmission to the measurement modules M1–M3. Herein, a case will be described in which the polling destination is set during initialization. After initialization ends, the measurement module M1–M3 which is the transmission destination, and the transmission content (e.g., measurement-start command), are set in the communication processing unit 22, using the interrupt signal from the clock 23 as a reference.
Next, the operations of the communication processing unit 22 of the main module 20 will be described. FIG. 6 is a diagram illustrating an example of the operations of the communication processing unit 22. FIG. 7 is a flowchart illustrating the state transitions of the communication processing unit 22. In FIG. 6, the top row shows the operations of the CPU 21 and the bottom row shows the operations of the communication processing unit 22. The horizontal axis shows the time.
The communication processing unit 22 performs polling PM1–PM3 on the individual measurement modules M1–M3 in polling mode. For example, each time polling mode is entered, it performs polling PM1, polling PM2, and polling PM3 in sequence. In addition, during each polling PM1–PM3, it communicates with the individual measurement modules M1–M3 and also functions as a watchdog timer for checking the states of the individual measurement modules M1–M3 (S10).
In polling mode, when the transmission destination and transmission content are set from the CPU 21 (e.g., during polling PM2 in FIG. 6), the communication processing unit 22 transfers to transmission mode after the end of polling mode, then converts the measurement-start command in the transmission content to serial data, and performs serial communication to send it to the measurement module M1–M3 which is the set transmission destination (S11, S12).
When transmission ends, the communication processing unit 22 changes again to polling mode from transmission mode (S12, S10), and repeats polling mode until the transmission destination and transmission content are set again from the CPU 21 (S11, S10).
It should be noted that serial communication is not connectionless; serial data to which a CRC or checksum has been added are transmitted to confirm whether the transmission content has been properly transmitted to the measurement module M1. If transmission fails, the serial data are resent.
The operations of the measurement modules will now be described. The communication processing unit 11 of the measurement modules M1–M3 receives the serial data sent by the main module 20, extracts the measurement-start command from the received serial data, and outputs it to the measurement unit 12. Next, the measurement unit 12 performs measurement, and outputs the measurement data to the communication processing unit 11. Next, the communication processing unit 11 outputs the measurement data to the main module 20 while polling PM1–PM3 from the main module 20 is being performed.
The transmission content set by the CPU 21 includes measurement-start, measurement-stop, measurement unit 12 sequence settings, measurement condition (e.g., measurement range) settings, and the like. Among these, transmission timing is not very important for the measurement unit 12 sequence settings, measurement range settings, and the like. In contrast, transmission timing is important for commands providing measurement-start instructions. More specifically, in cases where the measurement unit 12 is to be caused to start measurement at fixed transmission intervals, such as every one second or every 500 ms, it is extremely important to have the communication processing unit 22 transmit with proper timing.
However, because the serial bus SB is a single system, the communication processing unit 22 transitions between polling mode, in which data are received, and transmission mode, in which data are transmitted, without being able to simultaneously engage in transmission and reception with the measurement modules M1–M3. More specifically, when settings are made from the CPU 21 during polling mode, after polling mode ends, the communication processing unit 22 transits to transmission mode and performs transmission, so time is required between the time at which the setting was made and the time at which transmission actually starts. This results in a time difference error in the transmission interval. Thus it has been difficult to engage in high-speed communication with multiple measurement modules, which has been problematic.
However, in past measurements, the measurement interval required by users was long, such as approximately 1 second or 500 ms even in the case of the shortest measurement interval. Thus, even if there was a time difference error in the transmission interval, it could be ignored for practical purposes without any problems occurring.
However, in recent years, because more detailed measurements are made, the measurement interval required by users has shortened, making it impossible to ignore the time difference error, which has been problematic.
(iv) Case in Which the Measurement Modules M1–M3 Transmit Measurement Data to the Main Module
In FIG. 1, the main module 20 comprises a CPU 21 and a main module communication processing unit 22, and is connected to the internal serial bus SB. In addition, the main module 20 outputs, to the measurement modules M1–M3 through the serial bus SB, commands for specifying measurement conditions, measurement-start, measurement-stop, and the like; collects measurement data from the measurement modules M1–M3; and the like, controlling the entire multi-point data acquisition apparatus. Furthermore, the main module 20 exchanges data with a PC (not shown) which is disposed externally.
The CPU 21 is a specifying unit, which outputs, to the communication processing unit 22, commands for the measurement modules M1–M3. The communication processing unit 22 is connected to the internal serial bus SB and receives commands from the CPU 21 as inputs. In addition, the communication processing unit 22 exchanges serial data with the prescribed measurement modules M1–M3 through the internal serial bus SB, and notifies the CPU 21 of the results of serial data transmission/reception and the communication state.
The operations of such an apparatus will now be described.
As an example, operations will be described for a case in which the main module 20 causes the measurement modules M1–M3 to perform measurements at prescribed measurement periods, and collects measurement data.
The CPU 21 of the main module 20 outputs a measurement-start command to the communication processing unit 22, with the measurement module M1, for example, among the measurement modules M1–M3, set as the transmission destination. In the case of a measurement-start command, the transmission timing and transmission time interval, i.e., the measurement periods, are important, so the timing is calculated using the interrupt signal from a clock (not shown) as a reference in outputting the command to the communication processing unit 22.
Next, the communication processing unit 22 converts the command from the CPU 21 to serial data, and sends the serial data through the internal serial bus SB to the measurement module M1 (the transmission destination), performing serial communication. It should be noted that serial communication is not connectionless; serial data to which a CRC or checksum has been added are transmitted to confirm whether the transmission content has been properly transmitted to the measurement module M1. If transmission fails, the serial data are resent.
Next, when serial communication with the measurement module M1 ends, the communication processing unit 22 notifies the CPU 21 of the end of communication. In response to this, the CPU 21 causes the communication processing unit 22 to perform polling for receiving measurement data.
The communication processing unit 11 of the measurement module M1 extracts the measurement-start command from the received serial data and outputs it to the measurement unit 12. In response to this, the measurement unit 12 performs sequence measurement on the measurement subject in accordance with the measurement-start command.
Next, the measurement unit 12 outputs a measurement-end signal to the communication processing unit 11 together with the end of sequence measurement. Herein, the “measurement-end signal” is something which indicates the number of pieces of data in the measurement data from sequence measurement by the measurement unit 12, and indicates that the measurement data are valid.
Next, because of the measurement-end signal from the measurement unit 12, the communication processing unit 11 of the measurement module M1 reads the measurement data from the measurement unit 12, converts the read measurement data to serial data, and sends them to the communication processing unit 22 of the main module 20. In addition, the communication processing unit 22 of the main module extracts the measurement data from the received serial data and stores them in a memory (not shown), and notifies the CPU 21 that measurement data have been received.
This notification causes the CPU 21 to instruct the signal processing unit (not shown) to process the measurement data, and to cause the communication processing unit 22 to continue polling until the measurement period elapses, i.e., until the next measurement-start command is output to the communication processing unit 22. Next, when the time for the next measurement start is reached, the CPU 21 again outputs a measurement-start command to the communication processing unit 22, and performs operations thereafter in the same manner.
The operations of causing the measurement modules M2 and M3 to perform measurements and collecting data are not described because they are the same except for the fact that the CPU 21 of the main module 20 sets the measurement modules M2 and M3 as transmission destinations and the communication processing unit 22 engages in communication with the set measurement modules M2 and M3.
In past measurements, the measurement interval required by users was long, such as approximately 1 second or 500 ms even in the case of the shortest measurement interval. Thus, the timings for transmission from the main module 20 (e.g., of the measurement-start command) and transmission from the measurement modules M1–M3 (e.g., of measurement data) never overlapped.
However, in recent years, because more detailed measurements are made, the measurement interval required by users has shortened but the measurement data length has not changed, thus making it difficult to avoid collisions between the timing at which the communication processing unit 22 of the main module 20 receives measurement data from the measurement modules M1–M3, and the timing at which the next measurement-start command is sent. FIG. 8 will be used to describe the operations. FIG. 8(a) illustrates a case in which the measurement period is long, and FIG. 8(b) illustrates a case in which the measurement period is short. In both FIGS. 8(a) and (b), the top row shows the operations of the communication processing unit 22 of the main module 20, and the bottom row shows the operations of the measurement unit 12 of the measurement modules M1–M3. The horizontal axis shows the time.
In FIG. 8(a), the communication processing unit 22 sends a measurement-start command and performs polling for the duration of the measurement period T1, up until the next measurement-start command is sent. In addition, the measurement unit 12 of the measurement modules M1–M3 performs sequence measurement based on a measurement-start command, and outputs measurement data to the communication processing unit 22 through the communication processing unit 11 and serial bus SB together with the end of measurement. Note that because the measurement period T1 is long, the communication processing unit 22 receives measurement data from the measurement unit 12 during polling.
In contrast, in FIG. 8(b), the communication processing unit 22 sends a measurement-start command and performs polling for the duration of the measurement period T2 (T2<T1), up until the next measurement-start command is sent. In addition, the measurement unit 12 of the measurement modules M1–M3 performs sequence measurement based on a measurement-start command, and outputs measurement data to the communication processing unit 22 through the communication processing unit 11 and serial bus SB together with the end of measurement. However, because the measurement period T2 is short, the communication processing unit 22 receives measurement data regardless of the timing at which the next measurement-start command is sent. Thus, because the serial bus SB is a single system, the communication processing unit 22 is unable to send the next measurement-start command until reception of measurement data from the measurement module M1, allowing an error to occur in the measurement period T2.
Thus because the communication processing unit 22 of the main module 20 is unable to send the next measurement-start command until measurement data reception ends, it has not been possible to send a measurement-start command in the prescribed measurement period T2, which has been problematic. In particular, if multiple measurement modules are connected as in the case of a multi-point data acquisition apparatus, there are large amounts of measurement data to receive, and more errors occur in the measurement period T2, which has been a significant problem. Thus it has been difficult to engage in high-speed communication with multiple measurement modules, which has been problematic.